package org.spring.springboot.utility;

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Pointer;

/**
 * Time: 2017/11/10 17:41.
 * Created: vista @ ebudaowei.cn
 */
public class JnaImports {


    public interface CLibrary2 extends Library {
        CLibrary2 INSTANCE = (CLibrary2)
                Native.loadLibrary( "faceB", CLibrary2.class);

        /**
         * 每次执行前调用一次即可
         * @return 0 - 成功, -1 - 失败
         * @param path .dat文件
         * @param path2 seeta_fd_frontal_v1.0.bin 文件的绝对路径
         */
        int init(String path,String path2);

        /**
         *
         * @param outpath 新生成图片的保存路径，是一个文件名
         */
        void set_outpath(String outpath);

        /**
         * 可多次调用，需调用init进行初始化后再调用此方法
         * @param path 拍摄图片
         * @param path2 模特图片
         */
        int swap_face(String path,String path2);


        /**
         * 可多次调用，需调用init进行初始化后再调用此方法
         * @param path 拍摄图片
         * @param path2 模特图片
         */
        int swap_head(String path,String path2);

        void hello();
    }

    public interface CLibraryOcr extends Library {
        CLibraryOcr INSTANCE = (CLibraryOcr)
                Native.loadLibrary( "ebu_ocr", CLibraryOcr.class);

        /**
         * 每次执行前调用一次即可
         * @return 0 - 成功, -1 - 失败
         * @param nn_model_path
         * @param pic_path
         */
        int init(String nn_model_path,String pic_path);

        void hello();

        int ocr(String outpath, Pointer result, int len);
    }
}
